\section{Introducción teórica}

\subsection{Flujo en Redes}

El \emph{flujo en redes} se refiere a una gama de problemas dentro de lo que se conoce como \emph{mecánica de fluidos} que se propone modelar el recorrido de un fluido por una serie de redes e interconexiones que presentan alguna topología particular.

Esta disciplina lo que busca es dado un esquema como el siguiente (fig. 1) conocer el flujo de un caudal $x$ en todo momento del recorrido $s \rightarrow t$, o por ejemplo, conocer la resistencia que ofrecen los nodos para todo punto de la red como así también calcular el mínimo recorrido tal que se pueda obtener una salida $s_0$ para una entrada determinada en función de cierta resistencia. 

\begin{figure}[htb]
\includegraphics[scale=0.5]{img/Network_flow.png}
\caption[]{Ejemplo de flujo en red}
\end{figure}

Este tipo de problemas es muy variado y tiene aplicaciones en muchas ramas de la ciencia y la ingeniería. Desde un ingeniero civil que busca optimizar el camino de cierta autopista conociendo el volumen de autos por hora de forma de construir la menor cantidad de caminos, pasando por la mejora en el armado de circuitos eléctricos y la planificación de las cañerías de un inmueble, hasta modelos matemáticos de interés biológico. 

En nuestro caso, usaremos un modelo simplificado de esto para describir el comportamiento de corrientes eléctricas a través de una malla compuesta por celdas muy particulares.

\subsection{Circuitos Eléctricos}

Como se mencionó anteriormente, nos enfocaremos en tratar de resolver numéricamente el problema de dada una resistencia $r_0$, encontrar una resistencia equivalente $r_e$ tal que $r_e \rightarrow r_0$ mediante el armado de mallas compuestas por celdas con 4 resistencias cada una de 1 \emph{Ohm}. 

Es preciso enunciar los resultados teóricos que gobiernan el comportamiento de la corriente en este tipo de circuitos y que son la base de los métodos de resolución de este problema. Estos son \emph{la ley de Ohm} y las \emph{las leyes de Kirchhoff}.


\begin{ohm}
La corriente que pasa entre dos puntos es directamente proporcional al \textbf{voltaje} entre esos puntos, y es inversamente proporcional a la \textbf{resistencia} entre ellos. En otras palabras:
$$ I = \frac{V}{R} $$
\end{ohm}

\begin{corriente}
En cada conexión (o nodo) del circuito eléctrico la suma de las corrientes entrantes es igual a la suma de las corrientes salientes. Si por convención tenemos que las entradas de corriente son positivas y las salidas negativas entonces esto es para toda corriente $I_j$ (principio de conservación de la carga eléctrica). Se puede formular como: 
$$\sum_{k=1}^n I_k = 0$$

\end{corriente}

\begin{voltaje}
La suma de las caídas de tensión a lo largo de un circuito cerrado es cero. Equivalentemente, se puede formular en término de los voltajes $V_k$ que intervienen en dicho circuito:
$$\sum_{k=1}^n V_k = 0 \Longrightarrow_{Ohm} \sum_{k=1}^n I_k R_k  = 0$$
\end{voltaje}


\subsection{Método de las mallas}

El \emph{``método de mallas''} que consiste en calcular las corrientes de las celdas de la malla en forma individual y luego calcular la corriente externa o corriente final del sistema, arroja un sistema de ecuaciones de términos lineales de la siguiente forma:

Sea $n$ la cantidad de celdas que conforman la malla que se va a utilizar como aproximación de la resistencia pasada como parámetro, el sistema resultante es uno que posee $n + 1$ variables e igual cantidad de ecuaciones. Como se mencionó anteriormente se tienen $n$ ecuaciones y variables para calcular las $n$ celdas de la malla y una ecuación más que calcula la corriente externa o total de dicha malla. Entonces podemos definir convenientemente las variables involucradas en dicho método: tenemos $I_i$ corrientes con $i \in [1,n]$ una por cada celda y la variable $I_{n+1}$ que refleja la corriente final. En definitiva tenemos un sistema de ecuaciones lineales de tamaño $n \times n$.

\subsection{Sistemas de ecuaciones lineales}

Los sistemas de ecuaciones lineales son un conjunto de $m$ ecuaciones relacionadas en $n$ variables. Se los puede expresar en forma matricial como $A \dot x = b$ donde $A$ es una matriz de $m \times n$, $x$ es un vector columna de tamaño $n$ y $b$ un vector de tamaño $m$.

Estos sistemas son el objeto de estudio del álgebra lineal y del álgebra lineal numérica y aparecen muchas veces como resultado de modelos matemáticos aplicados a todos los ámbitos de la ciencia. Además son útiles como una buena aproximación a sistemas más complejos o sistemas de ecuaciones no-lineales. 

Es por esto que buscar la solución de dichos sistemas es fundamental a la hora de resolver todo tipo de problemas. Existen diversos métodos y algoritmos para ello. Haremos una breve introducción a los distintos métodos que existen y a el utilizado en el presente trabajo.

Tenemos por un lado a los \textbf{métodos iterativos} como ser el caso del método de Jacobi, Gauss-Seidel o del Gradiente Conjugado que como su nombre lo indica se los aplica en forma iterativa para lograr una aproximación a la solución real del sistema en cuestión. 

Por otra parte, existen los denominados \textbf{métodos directos} que mediante operaciones elementales sobre la matriz con la que se representa al sistema, se busca resolver el mismo en forma exacta. Uno de estos métodos y el utilizado en el presente trabajo es el método de \emph{eliminación gaussiana} que se vale de la factorización LU de la matriz $A$ (siempre y cuando exista) para resolver el sistema en cuestión. Este método está explicado con detalle en la siguiente sección.


